const o = {a:123}
const p = new Proxy(o,{
    set:(src,key,v,receiver)=>{
        console.log(src,key,v,receiver);
        src[key] = v;
        return true;
    },
    get:(src,key,receiver)=>{
        console.log(src,key,receiver);
        return src[key]
    }
});

o.b = {x:1}
p.xx={y:1}
console.log('result',o,p);
const foo = ()=>{}
console.log(typeof [],typeof {},typeof null,typeof foo)